package lojaVirtual.manterCadastro.dao;


import java.io.Serializable;
import java.util.List;

import lojaVirtual.manterCadastro.pojo.Categoria;
 

@SuppressWarnings("serial")
public class CategoriaDao implements IDao<Categoria>, Serializable {

	private final GenericDao<Categoria> dao;

	public CategoriaDao() {

		dao = new GenericDao<Categoria>(Categoria.class);
	}

	@Override
	public void save(Categoria categoria) {
		this.dao.save(categoria);
	}


	@Override
	public void delete(Categoria categoria) {
		this.dao.delete(categoria);
	}

	@Override
	public Categoria find(Integer id) {
		return dao.find(id);
	}

	@Override
	public List<Categoria> list() {
		return this.dao.list( "cat_nome" );
	}

	
	public List<Categoria> list( String campo ) {
		return this.dao.list( campo );
	}
	
	public List<Categoria> listByWhere(List<String> columns, List<String> values,
			String ordem) {

		String where = "";
		int count = 0;
		for (String column : columns) {

			if (count > 0)
				where += " and ";
			where += " " + column + "=" + values.get(count);
			count++;

		}
		where += " ";

		return this.dao.list(ordem, where);
	}
	
	public List<Categoria> listByStatus(){
		
		return this.dao.list( "cat_nome", "cat_ativo = true" );
	}

	
}
